/**
 * 
 */
package com.youweather.sgg.test;

import org.junit.After;
import org.junit.Before;
import com.youweather.sgg.CheckIn;
import android.test.ActivityInstrumentationTestCase2;


/**
 * @author sim1
 *
 */
public class testCheckIn extends ActivityInstrumentationTestCase2<CheckIn> {

	CheckIn c;
	private CheckIn mActivity;
	String actual;
	int temperatura;
	
    public testCheckIn(String name) {
    	super(CheckIn.class);
		setName(name);
	}

	/* (non-Javadoc)
	 * @see android.test.ActivityInstrumentationTestCase2#setUp()
	 */
	@Before
	protected void setUp() throws Exception {
		super.setUp();
		mActivity = getActivity();
		c = new CheckIn();
	}

	/* (non-Javadoc)
	 * @see android.test.ActivityInstrumentationTestCase2#tearDown()
	 */
	
	
	//Test sui campi
	public void testDeiCampiInseritiInModoCorretto(){
		
	}
	
	/*Tests sul campo NOME*/ 
	
	public void testCampoNomeNonVuoto(){
		actual = "Antonio Rossi";
		
		assertTrue(c.CheckIsEmpty(actual));
	}

	
	public void testCampoNomeVuoto(){
		
		if(!c.CheckIsEmpty(" ")) fail();
	}
	
	public void testCampoNomeAlLimiteSuperioreMassimaLunghezzaConsentita(){
		
		if(c.CheckLenghtName("MarioMarioMarioMarioMarioMarioMarioMarioMarioMarioMarioMario")) fail();
	}
	
	public void testCampoNomeAlBordoSuperioreMassimaLunghezzaConsentita(){
		
		if(c.CheckLenghtName("MariottoMariottoMariottoMariottoa")) fail();
	}
	
	public void testCampoNomeAlBordoInferioreMassimaLunghezzaConsentita(){
		
		if(!c.CheckLenghtName("MariottoMariottoMariottoMariott")) fail();
	}
	
	public void testCampoNomeAlLimiteMassimaLunghezzaConsentita(){
		
		if(!c.CheckLenghtName("MariottoMariottoMariottoMariotto")) fail();
	}
	
	public void testCampoNomeAlLimiteInferioreMinimaLunghezzaConsentita(){
		if(c.CheckLenghtName("M")) fail();
	}
	
	public void testCampoNomeAlBordoInferioreMinimaLunghezzaConsentita(){
		if(c.CheckLenghtName("Mar")) fail();
	}
	
	public void testCampoNomeAlLimiteMinimaLunghezzaConsentita(){
		if(!c.CheckLenghtName("Mari")) fail();
	}
	
	public void testCampoNomeAlBordoSuperioreMinimaLunghezzaConsentita(){
		if(!c.CheckLenghtName("Maria")) fail();
	}
	
	public void testCampoNomeNonContieneUnicamenteCaratteriSpeciali(){
		if(c.CheckName("�@$")) fail();
	}
	
	public void testCampoNomeNonContieneCaratteriSpecialiInsiemeACaratteriNormali(){
		if(c.CheckName("Marco_Esposito$")) fail();
	}
	
	public void testCampoNomeNonContieneCaratteriSpecialiInsiemeANumeri(){
		if(c.CheckName("123_7&")) fail();
	}
	
    public void testCampoNomeNonContieneCaratteriSpecialiInsiemeANumeriELettere(){
    	if(c.CheckName("Antonio56($)!#")) fail();
    }
	
    public void testCampoNomeNonContieneSpaziECaratteriSpeciali(){
    	if(c.CheckName("   _$  !")) fail();
    }
	
    public void testCampoNomeNonContieneSoloNumeri(){
    	if(c.CheckName("1234567890")) fail();
    }
	
    public void testCampoNomeNonContieneSoloSpazi(){
    	if(c.CheckName("        ")) fail();
    }
	
    public void testCampoNomeNonContieneLettereAccentate(){
    	if(c.CheckName("Carl����")) fail();
    }
	
    public void testCampoNomeContieneLettereMaiuscoleEMinuscole(){
    	if(!c.CheckName("MarcoantoNIO")) fail();
    }
	
	public void testCampoLunghezzaNomeCorretta(){
		actual = "Mario Scognamiglio";
		
		assertTrue(c.CheckLenghtName(actual));
	}
	
	
   
    /*Tests sul campo TEMPERATURA*/
    
    public void testCampoTemperaturaNelLimite (){
    	if (!c.CheckTemperature("0")) fail();
    }
        
    public void testCampoTemperaturaAlBordoDelLimiteSuperiore (){
    	if(!c.CheckTemperature("99")) fail();
    }
    
    public void testCampoTemperatureAlLimiteSuperiore(){
    	if(!c.CheckTemperature("100")) fail();
    }
        
    public void testCampoTemperaturaAlBordoDelLimiteInferiore (){
    	if(!c.CheckTemperature("-458")) fail();
 	
    }
    
    public void testCampoTemperatureAlLimiteInferiore(){
    	if(!c.CheckTemperature("-459")) fail();
    }
            
    /*Falliscono*/
    
    public void testCampoTemperatureAlDiFuoriDelLimiteSuperiore(){
    	if(c.CheckTemperature("1000")) fail();
    }
    
    public void testCampoTemperatureAlBordoDelLimiteSuperiore(){
    	if(c.CheckTemperature("101")) fail();
    }
   
    
    public void testCampoTemperaturaAlDifuoriDelLimiteInferiore(){
    	if(c.CheckTemperature("-1000")) fail();
    }
    
    public void testCampoTemperatureAlBordoDelLimiteInferiore(){
    	if(c.CheckTemperature("-460")) fail();
    }
    
   
    
    public void testCampoTemperaturaEsclusioneLettere(){
    	if(c.CheckTemperatureIsCorrect("aaa")) fail();
    }
    
    public void testCampoTemperaturaEsclusioneCaratteriSpeciali (){
     	if(c.CheckTemperatureIsCorrect("__!!__è")) fail();
    }
    
    public void testCampoTemperaturaEsclusioneNumeriECaratteriSpeciali (){
     	if(c.CheckTemperatureIsCorrect("58?__//")) fail();
    }
    
    public void testCampoTemperaturaEsclusioneLettereENumeri(){
    	if(c.CheckTemperatureIsCorrect("aaa55")) fail();
    }

    
    public void test (){
 	
    }
    
    
    /*Tests sul campo CONDIZIONI*/
		
	
	 
	 public void testCampoCondizioniAlLimiteSuperioreMassimaLunghezzaConsentita (){
		 if (!c.CheckLenghtConditions("Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo " +
		 		"Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo " +
		 		"asdfghjk")) fail();		 	
	    }
	 
	 public void testCampoCondizioniBordoInferioreMassimaLunghezzaConsentita (){
		 if (c.CheckLenghtConditions("Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo " +
		 		"Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo  " +
		 		"ma pioverà")) fail();		 	
	    }
	 
	 public void testCampoCondizioniLunghezzaGiustaConsentita (){
		 	if(!c.CheckLenghtConditions("bel tempo con nuvole")) fail();
	    }
	 
	 
	  
	  public void testCampoCondizioniAlBordoSuperioreMinimaLunghezzaConsentita (){
			 if(!c.CheckLenghtConditions("Pioveente")) fail();
		    }
	  
	  /*FALLISCONO*/
	  public void testCampoCondizioniMassimaLunghezzaConsentita (){
			 if (c.CheckLenghtConditions("Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo " +
			 		"Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo  " +
			 		"Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo  ")) fail();		 	
		    }
		 
		 public void testCampoCondizioniBordoSuperioreMassimaLunghezzaConsentita (){
			 if (c.CheckLenghtConditions("Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo " +
			 		"Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo Bel Tempo  " +
			 		"ma pioverà e vento")) fail();		 	
		    }
		 
		 public void testCampoCondizioniMinimaLunghezzaConsentita (){
			 if(c.CheckLenghtConditions("P")) fail();
		    }
		 
		 
		  public void testCampoCondizioniBordoInferioreMinimaLunghezzaConsentita (){
			 if(c.CheckLenghtConditions("Pioveen")) fail();
		    }
		  
		  public void testCampoCondizioniAlLimiteInferioreMinimaLunghezzaConsentita (){
				 if(!c.CheckLenghtConditions("Pioveent")) fail();
			}
	
	//Test bottone foto
	public void testBottoneFotoUploadSuDatabaseCorretto(){
		
	}	
	
	@After
	protected void tearDown() throws Exception {
		super.tearDown();
	}

}
